#include<stdio.h>
#include<stdlib.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<fcntl.h>
#include<string.h>
#include<unistd.h>
#include<assert.h>
#include<errno.h>

#define SIZE 1024
#define SYNC_NOW 1 // 无缓冲
#define SYNC_LINE 2 //行缓冲
#define SYNC_FULL 3 // 全缓冲

typedef struct MY_FILE{
    int flag; //刷新方式
    int fileno;
    int cap; //buffer's capacity
    int size; 

    char buffer[SIZE]; // 缓冲区
}MY_FILE;

MY_FILE* _fopen(const char* path_name, const char* mode);
void _fwrite(const void* ptr, int num, MY_FILE* fp);
void _fflush(MY_FILE* fp);
void _fclose(MY_FILE* fp);

